package cn.edu.gzhmt.category.admin.service.impl;

import java.util.List;

import cn.edu.gzhmt.category.admin.service.CategoryExcetpin;
import cn.edu.gzhmt.category.admin.service.IAdminCategoryService;
import cn.edu.gzhmt.category.dao.ICategoryDao;
import cn.edu.gzhmt.category.dao.impl.CategoryDaoImpl;
import cn.edu.gzhmt.category.domain.Category;

/**
 * 后台管理分类模块：service层
 * @author azhuo
 *
 */
public class AdminCategoryServiceImpl implements IAdminCategoryService {
	
	private ICategoryDao categoryDao = new CategoryDaoImpl();

	/**
	 * 加载所有分类
	 */
	public List<Category> loadCategory() {
		return categoryDao.findAll();
	}

	/**
	 * 通过id加载分类
	 */
	public Category loadCategoryById(String cid) {
		
		return categoryDao.findById(cid);
	}

	/**
	 * 根据分类id修改分类
	 */
	public void editCategory(Category category) {
		categoryDao.updateCategory(category);
	}

	/**
	 * 添加分类
	 */
	public void addCategory(Category form) throws CategoryExcetpin {
		// 查询分类名称是否存在，已经存在，不能添加
		Category category = categoryDao.findByCname(form.getCname());
		if(category != null){
			throw new CategoryExcetpin("分类名称已经存在，无法添加。");
		}
		
		categoryDao.addCategory(form);
	}

	/**
	 * 根据分类id删除分类
	 */
	public void removeCategory(String cid) {
		
		categoryDao.removeCategoryByCid(cid);
	}

	/**
	 * 批量删除分类
	 */
	public void removeAllCategory(String cnames) {
		
		String[] cnameArr = cnames.split(",");
		
		for (String cname : cnameArr) {
			categoryDao.removeCategoryByCname(cname);
		}
		
	}

	/**
	 * 通过名称加载分类
	 */
	public Category loadCategoryByName(String cname) {
		return categoryDao.findById(cname);
	}
	
	

}
